# -*- coding: utf-8 -*-
# autor: 13565, 13566
# data 20/10/2014

import xlrd
import sqlite3
import sqlalchemy
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
from sqlalchemy import *


workbook = xlrd.open_workbook('IPC_Portugal_1977_2013.xls')
worksheet = workbook.sheet_by_name('Dados')

# opening a connection to the database we'll be using
database = create_engine('sqlite:///database.db', echo=True)

base = declarative_base()

class Dados(base):
    __tablename__ = "dados"

    ano = Column(Integer, primary_key = True)
    ipc_global_1981_100 = Column(Integer)
    variacao_anual_taxa_de_inflacao = Column(Integer)
    remuneracao_minima_mensal = Column(Integer)
    remuneracao_maxima_mensal = Column(Integer)
    pib_per_capita_anual = Column(Integer)
    rendimento_nacional_bruto_per_capita_anual = Column(Integer)
    rendimento_disponivel_bruto_per_capita_anual = Column(Integer)
    remuneracoes_per_capita_anual = Column(Integer)

    def __init__(self, ano, ipc, variacao_anual, r_min, r_max, pib, r_nacional, r_disponivel, remuneracoes_anual):
        self.ano = ano
        self.ipc_global_1981_100 = ipc
        self.variacao_anual_taxa_de_inflacao = variacao_anual
        self.remuneracao_minima_mensal = r_min
        self.remuneracao_maxima_mensal = r_max
        self.pib_per_capita_anual = pib
        self.rendimento_nacional_bruto_per_capita_anual = r_nacional
        self.rendimento_disponivel_bruto_per_capita_anual = r_disponivel
        self.remuneracoes_per_capita_anual = remuneracoes_anual

#create table
base.metadata.drop_all(database)
base.metadata.create_all(database)

Session = sessionmaker(bind = database)
session = Session()

values = []
for row in range(1, worksheet.nrows):
    for col in range(1, worksheet.ncols):
        values.append(worksheet.cell_value(row, col))
    session.add(Dados(values[0], values[1], values[2], values[3], values[4], values[5], values[6], values[7], values[8]))
    values = []

session.commit()
